package face.pay.web.user.service;

import face.pay.entity.UserInfo;
import face.pay.util.ResultMessage;
import face.pay.util.page.PageData;
import face.pay.util.page.PageParam;

/**
 * @Auther: zkj
 * @Date: 2019/7/9 10:24
 * @Description:
 */
public interface IUserService {

    ResultMessage editUser(String roleCode,UserInfo userInfo);

    ResultMessage modifyPassword(UserInfo loginUser, String oldPassword, String newPassword);

    PageData queryPage(UserInfo userInfo, PageParam pageParam);

    /**
     * 查询用户详细资料
     * @param loginUser
     * @return 用户详细资料
     */
    UserInfo queryUserInfo(UserInfo loginUser);

    /**
     * 发送验证码
     * @param loginUser
     * @param bizType
     * @return
     */
    public ResultMessage sendValidateCode(UserInfo loginUser,String bizType);

    /**
     * 修改用户信息
     * @param userInfo 用户信息
     * @param code 验证码
     * @param id 用户id
     * @return
     */
    ResultMessage updateUserInfo(UserInfo userInfo, String code, Integer id);

    /**
     * 用户重置密码
     * @param domain 域名
     * @param userName 用户名
     * @param phone 手机
     * @return
     */
    ResultMessage restPassword(String domain, String userName, String phone);

    ResultMessage updateMobile(UserInfo userInfo, String code, UserInfo loginUser);
}
